// Copyright 2007. Adobe Systems Incorporated. All Rights Reserved.
package fl.managers;
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.display.Stage;
import flash.display.SimpleButton;
import flash.display.DisplayObject;
import flash.display.DisplayObjectContainer;
import flash.display.InteractiveObject;
import flash.text.TextField;
import flash.text.TextFieldType;
import flash.ui.Keyboard;
import flash.events.Event;
import flash.events.FocusEvent;
import flash.events.MouseEvent;
import flash.events.KeyboardEvent;
import fl.controls.Button;
import fl.controls.TextInput;
import fl.core.UIComponent;	
import flash.system.Capabilities;

extern class FocusManager implements IFocusManager {
	
	public function new(container:DisplayObjectContainer):Void;
	public function activate():Void;
	public function deactivate():Void;
	public var defaultButton(dynamic, dynamic):Button;
	public function sendDefaultButtonEvent():Void;
	public function getNextFocusManagerComponent(backward:Bool = false):InteractiveObject;
	public var defaultButtonEnabled(dynamic, dynamic):Bool;
	public var nextTabIndex(dynamic, dynamic):Int;
	public var showFocusIndicator(dynamic, dynamic):Bool;
	public var form(dynamic, dynamic):DisplayObjectContainer;
	public function getFocus():InteractiveObject;
	public function setFocus(component:InteractiveObject):Void;
	public function showFocus():Void;
	public function hideFocus():Void;
	public function findFocusManagerComponent(component:InteractiveObject):InteractiveObject;
}

